Multiprotocol Label Switching (MPLS) is a mechanism applied in networks that directs data from one network node or network element to the next based on locally significant short path labels rather than long, globally significant, network addresses, so avoiding complex lookups in a routing table. For example, MPLS is described, in part, in Request for Comments (RFC) 3032 “MPLS Label Stack Encoding,” January 2001, the contents of which are incorporated by reference herein. The availability and use of RFC 3032 compatible MPLS-capable hardware for packet switching is ubiquitous, and the industry recognizes it as a cost-effective technique for packet forwarding. Even within software or network processor unit (NPU) forwarding systems, RFC 3032 packet processing provides similar simplicity and consequent high performance. However current operations of RFC 3032 packet forwarding requires very significant control protocol complexity, which stems fundamentally from the need to create and maintain link-local labels (to support label push, swap, and pop) for every end-to-end path across the network, using an array of signaling protocols such as Label Distribution Protocol (LDP), Resource Reservation Protocol-Traffic Engineering (RSVP-TE), and multicast-LDP coupled with and dependent upon routing protocols such as Intermediate System To Intermediate System (IS-IS) and Open Shortest Path First (OSPF), with or without Traffic Engineering (TE) extensions, and Border Gateway Protocol (BGP). As above, MPLS requires numerous protocols which leads to various interactions therebetween that create complexity.
In addition to the inherent complexity of such protocols, in many cases the label path signaling can only execute once the underlying unicast topology has converged, thus delaying recovery from faults. Extra control complexity in the form of Fast Reroute (FRR) and/or Loop Free Alternate (LFA) paths is therefore frequently applied, in order to mask faults until reconvergence has taken place. As above, MPLS exists, is very widely deployed, and can be configured to deliver a wide range of functionalities and services, but because of its design it requires a significant number of complex protocols.
Techniques are evolving to address the complexity and other limitations of MPLS. For example, one such technique is described in the parent application of this disclosure, U.S. patent application Ser. No. 13/724,400, filed on Dec. 21, 2012, and entitled “REDUCED COMPLEXITY MULTIPROTOCOL LABEL SWITCHING.” The reduced complexity MPLS includes techniques whereby the use of one or more MPLS labels assigned uniquely to a node within an MPLS network domain permitted substantial simplification of the operating procedures for that domain. Additionally, in draft-previdi-filsfils-isis-segment-routing-02 from the Internet Engineering Task Force (IETF), “Segment Routing with IS-IS Routing Protocol,” Mar. 20, 2013, (available online at datatracker.ietf.org/doc/draft-previdi-filsfils-isis-segment-routing/), the contents of which are incorporated in full by reference herein, there is further disclosed a technique for Segment Forwarding of MPLS frames, whereby a stack of MPLS labels is interpreted, in the forwarding path of an MPLS network, as a sequence of source-routed path directives, each element of the sequence being an assigned domain-wide label advertised over the domain by a Link State routing protocol such as IS-IS. This technology is also known as MPLSDN (MPLS for Software Defined Networks (SDN)).
It is expected that Reduced Complexity MPLS and/or Segment Routing will proliferate based on the existing MPLS footprint and the inherent reduction in complexity brought by these techniques. Reduced Complexity MPLS and Segment Routing are both destination-based forwarding techniques. It is well known that destination-based forwarding techniques are “Operations, Administration, and Maintenance (OAM) lossy”; i.e., paths towards a particular destination will naturally merge, such that the identity of the source is lost. In many networks, it is highly desirable that the identity of the source is preserved, so that the performance of individual point-to-point connections may be monitored and the like, and this identity is advantageously carried in the data plane packet header itself, and not in some higher layer as an element within the packet payload.